﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using RendicionGastos.Models;
using System.Net;
using System.IO;
using System.Web.Script.Serialization;
using System.Text;

namespace RendicionGastos.Controllers
{
        [Authorize(Roles = "Administrador")]
    public class AprobacionGastoController : Controller
    {
        //
        // GET: /AprobacionGasto/
        JavaScriptSerializer js = new JavaScriptSerializer();
        public ActionResult Index()
        {
            // Prueba de creación de alumno vía HTTP POST
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://localhost:3181/Gastos.svc/Gastos");
            req.Method = "GET";

            var res = (HttpWebResponse)req.GetResponse();
            StreamReader reader = new StreamReader(res.GetResponseStream());
            string gastoJson = reader.ReadToEnd();
            JavaScriptSerializer js = new JavaScriptSerializer();
            List<GastoModel> gastoListado = js.Deserialize<List<GastoModel>>(gastoJson);

            return View(gastoListado);
        }

        //
        // GET: /AprobacionGasto/Details/5

        public ActionResult Details(int id)
        {
            return View();
        }

        public ActionResult Aprobar(int id, string descripcionGasto) {
            AprobacionGastoModel gasto = new AprobacionGastoModel();

            HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://localhost:3181/Gastos.svc/AprobarGastos" + "/" + id);
            req.Method = "GET";
            HttpWebResponse res = (HttpWebResponse)req.GetResponse();
            StreamReader reader = new StreamReader(res.GetResponseStream());
            string alumnoJson = reader.ReadToEnd();
            GastoModel alumno = js.Deserialize<GastoModel>(alumnoJson);

            gasto.NumeroGasto = id;
            gasto.DescripcionGasto = descripcionGasto;

            return View(gasto);
        }

        public ActionResult Rechazar(int id, string descripcionGasto)
        {
            AprobacionGastoModel gasto = new AprobacionGastoModel();

            HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://localhost:3181/Gastos.svc/RechazarGastos" + "/" + id);
            req.Method = "GET";
            HttpWebResponse res = (HttpWebResponse)req.GetResponse();
            StreamReader reader = new StreamReader(res.GetResponseStream());
            string alumnoJson = reader.ReadToEnd();
            GastoModel alumno = js.Deserialize<GastoModel>(alumnoJson);


            gasto.NumeroGasto = id;
            gasto.DescripcionGasto = descripcionGasto;

            return View(gasto);
        }


    }
}
